package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.CheckGroup;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface RoleDao {
    public Set<Role> findByUserId(int id);

    public void add(Role role);

    public void setRoleAndPermission(@Param("roleId")Integer roleId,
                                     @Param("permissionIds")Integer[] permissionIds);

    public void setRoleAndMenu(@Param("roleId")Integer roleId,
                               @Param("menuIds")Integer[] menuIds);

    Page<CheckGroup> findByCondition(String queryString);


    Role findByID(Integer id);


    List<Integer> findPermissionIdsByRoleId(Integer id);


    List<Integer> findMenuIdsByRoleId(Integer id);


    void deleteRP(Integer id);

    void deleteRM(Integer id);

    void deleteR(Integer id);

    void edit(Role role);

    List<Role> findAll();
}
